## 🔎 ملخّص الطلب  
1. **أداة (أو مجموعة أدوات) لأرشفة فيديوهات YouTube من روابط**  
2. **إمكانية تصنيف الفيديوهات/القنوات تحت عنوان أو فئة مخصّصة** – أي أنك تريد متابعة محتوى **قنوات محددة فقط** وليس كل القنوات التي تتابعها.  
3. **إضافات Chrome لتقليل الإعلانات المستهدفة ومنع المواقع من طلب موقعك الجغرافي**.  

سأقدّم لك حلًّا عمليًا يجمع بين **أدوات مجانية/مفتوحة المصدر**، مع **خطوات إعداد مفصّلة** وروابط تحميل مباشرة، بالإضافة إلى **نصائح أمان**.

---

## 1️⃣ أرشفة الفيديوهات من روابط (مع تصنيف تلقائي)

### 1.1. الخيار الأكثر مرونة – **yt‑dlp + ملف تصنيف (JSON/CSV)**  

| العنصر | ما يفعله | لماذا هو مفيد |
|--------|----------|--------------|
| **yt‑dlp** (fork محسّن من youtube‑dl) | تنزيل الفيديو بأعلى جودة، حفظ الوصف، الترجمات، صورة المصغرة، وإنشاء ملف `archive.txt` لتجنب تنزيل نفس الفيديو مرتين. | سطر أوامر بسيط، يدعم جميع الأنظمة (Windows‑macOS‑Linux). |
| **ملف `links.txt`** | كل سطر يحتوي على رابط فيديو أو رابط RSS لقناة. | يتيح لك تجميع الروابط من أي مصدر (موقع، ملف OPML، أو سكريبت). |
| **ملف `categories.json`** (اختياري) | يربط كل معرف قناة (`channelId`) بفئة/عنوان مخصص (مثلاً “تقنية”، “طبخ”). | يتيح فرز الفيديوهات إلى مجلدات حسب الفئة تلقائيًا. |
| **سكريبت Python** (قليل الأسطر) | يقرأ `links.txt` + `categories.json` → يستدعي yt‑dlp مع خيارات التسمية. | كل شيء يتم بنقرة واحدة؛ لا تحتاج لتدخل يدوي بعد الإعداد. |

#### 1.1.1. تثبيت yt‑dlp  

| النظام | طريقة التثبيت |
|-------|---------------|
| **Windows** | 1. حمل `yt-dlp.exe` من <https://github.com/yt-dlp/yt-dlp/releases/latest> <br>2. أنشئ مجلدًا (مثلاً `C:\yt-dlp\`) وانسخ الملف إليه. |
| **macOS** | ```bash<br>brew install yt-dlp<br>``` (إذا كان لديك Homebrew) |
| **Linux** | ```bash<br>sudo apt-get install python3-pip   # إذا لم يكن مثبتًا<br>python3 -m pip install -U yt-dlp<br>``` أو تحميل الملف التنفيذي مباشرةً من GitHub. |

#### 1.1.2. هيكلة الملفات  

```
/archive‑project/
│─ yt‑dlp.exe (أو ملف تنفيذي للمنصة)
│─ links.txt               ← كل سطر = رابط فيديو
│─ categories.json        ← (اختياري) تصنيف القنوات
│─ download‑archive.txt    ← يُنشأ تلقائيًا
│─ run‑archive.bat (Windows) أو run‑archive.sh (Linux/macOS)
│─ download.py (سكريبت Python)
```

**ملف `links.txt` (مثال):**

```
https://www.youtube.com/watch?v=abc123
https://www.youtube.com/watch?v=def456
https://www.youtube.com/feeds/videos.xml?channel_id=UC7XYZ789   # RSS قناة
```

**ملف `categories.json` (اختياري):**

```json
{
  "UC7XYZ789": "تقنية",
  "UClmnopqr": "طبخ",
  "UCstuvwx": "رياضة"
}
```

#### 1.1.3. سكريبت Python لتصنيف أثناء التحميل  

> **ملف:** `download.py`

```python
import json, os, subprocess, sys, pathlib

# ---------- إعدادات ----------
YT_DLP = "yt-dlp.exe" if os.name == "nt" else "yt-dlp"
LINKS_FILE = "links.txt"
ARCHIVE_FILE = "download-archive.txt"
CATS_FILE = "categories.json"
OUTPUT_TEMPLATE = "%(category)s/%(uploader)s/%(upload_date)s - %(title)s.%(ext)s"
# ------------------------------

# تحميل التصنيفات (إن وجدت)
categories = {}
if pathlib.Path(CATS_FILE).exists():
    with open(CATS_FILE, "r", encoding="utf-8") as f:
        categories = json.load(f)

def get_category(channel_id):
    return categories.get(channel_id, "غير‑مصنّف")

# بناء قائمة الروابط مع تمرير متغيّر `category` إلى yt‑dlp
with open(LINKS_FILE, "r", encoding="utf-8") as f:
    for url in f:
        url = url.strip()
        if not url:
            continue

        # استخراج معرف القناة (إذا كان URL لقناة أو RSS)
        # الصيغة العامة: …/channel/CHANNEL_ID أو …?channel_id=CHANNEL_ID
        channel_id = None
        if "channel_id=" in url:
            channel_id = url.split("channel_id=")[-1].split("&")[0]
        elif "/channel/" in url:
            channel_id = url.split("/channel/")[-1].split("/")[0]

        # إذا وجدنا معرف القناة → نحدد الفئة
        category = get_category(channel_id) if channel_id else "غير‑مصنّف"

        # أمر yt‑dlp مع المتغيّر `category` في قالب الإخراج
        cmd = [
            YT_DLP,
            "--format", "bestvideo+bestaudio/best",
            "--embed-subs",
            "--write-info-json",
            "--write-thumbnail",
            "--download-archive", ARCHIVE_FILE,
            "--output", OUTPUT_TEMPLATE.replace("%(category)s", category),
            url
        ]

        # تشغيل العملية وعرض السجل
        print(f"🔽 تحميل: {url} → الفئة: {category}")
        subprocess.run(cmd, check=False)
```

**ملف تشغيل (Batch/ Bash)**  
- **Windows (`run-archive.bat`)**  

```bat
@echo off
python download.py
pause
```

- **Linux/macOS (`run-archive.sh`)**  

```bash
#!/usr/bin/env bash
python3 download.py
```

> **ما يحدث؟**  
- كل فيديو يُحفظ داخل مجلد يُسمّى باسم الفئة (من `categories.json`).  
- إذا لم يكن الفيديو من قناة مصنّفة، يُحفظ في مجلد `غير‑مصنّف`.  
- ملف `download-archive.txt` يمنع إعادة تنزيل ملفات تم حفظها مسبقًا.

#### 1.1.4. تشغيل الأرشفة  

```bash
# من داخل مجلد المشروع
./run-archive.sh          # Linux/macOS
# أو
run-archive.bat          # Windows
```

### 1.2. حلول بديلة (بدون سطر أوامر)

| التطبيق | نظام التشغيل | مميزات رئيسية | رابط التحميل |
|---------|--------------|----------------|--------------|
| **NewPipe** | Android | - تنزيل فيديو/صوت <br> - حفظ الفيديو في مجلد مخصص <br> - لا يطلب حساب Google ولا يتبع خوارزمية YouTube | <https://f-droid.org/packages/org.schabi.newpipe/> |
| **FreeTube** | Windows / macOS / Linux | - مشاهدة بدون إعلانات (يستخدم Invidious) <br> - إمكانية تنزيل الفيديو (مدمج yt‑dlp) <br> - تنظيم القنوات في “Playlists” مخصصة | <https://freetubeapp.io/> |
| **4K Video Downloader** (نسخة مجانية) | Windows / macOS / Linux | - واجهة رسومية بسيطة <br> - دعم قوائم تشغيل كاملة <br> - حفظ الفيديو مع اسم القناة وتاريخ الرفع | <https://www.4kdownload.com/products/product-videodownloader> |
| **JDownloader 2** | Windows / macOS / Linux | - مدير تنزيل عام يدعم ملفات نصية بالروابط <br> - يمكن ربطه بـ `yt‑dlp` كـ “plugin” لتصنيف تلقائي | <https://jdownloader.org/jdownloader2> |

> **نصيحة**: إذا كنت تريد **حفظ الفيديوهات على هاتف Android** مع تصنيف يدوي، فإن NewPipe هو الخيار الأسرع؛ إذا كنت تعمل على **كمبيوتر** وتحتاج لتصنيف آلي، استخدم الـ yt‑dlp مع السكريبت أعلاه.

---

## 2️⃣ تصنيف القنوات ومتابعة الاشتراكات فقط (دون خوارزمية YouTube)

### 2.1. ملحقات Chrome لتصنيف القنوات داخل YouTube  

| الملحق | ما يقدّمه | رابط التحميل |
|--------|-----------|--------------|
| **PocketTube – YouTube Channel Manager** | • إنشاء “Groups” (مجموعات) وتسمية كل مجموعة <br>• سحب القنوات إلى المجموعة المطلوبة <br>• إخفاء الخلاصات من القنوات غير المختارة <br>• يظل يعمل داخل موقع YouTube الأصلي (لا يلزم تطبيق خارجي) | <https://chrome.google.com/webstore/detail/pockettube‑youtube‑channel‑manager/ijbgfdnacpdjmhkjhdhcncjjegjfkmdn> |
| **Channel Manager for YouTube** | • إضافة “Labels” (وسوم) لكل قناة <br>• عرض القنوات بحسب الوسم في صفحة “Subscriptions” | <https://chrome.google.com/webstore/detail/channel‑manager‑for‑youtube/pmkpjlegmclgkjmhjicjgnjfhbpjkjco> |
| **Unhook – Remove YouTube Recommended Videos** | • إلغاء جميع مقاطع “Recommended” و “Up Next” لتظهر فقط مقاطع القنوات التي تشترك فيها. | <https://chrome.google.com/webstore/detail/unhook‑remove‑youtube‑reco/ejjhhjphdbjcljhplbcbjhnnfocjpioj> |

#### كيفية إنشاء مجموعة وتصنيف القنوات باستخدام PocketTube

1. **ثبت الملحق** من الرابط أعلاه.  
2. افتح YouTube (ستظهر أيقونة PocketTube على شريط الأدوات).  
3. اضغط على الأيقونة → **“Create Group”**. أعطِ المجموعة اسمًا (مثلاً “تقنية”).  
4. في صفحة **Subscriptions** اسحب القنوات التي تريدها إلى المجموعة.  
5. لتقليل الضوضاء، **اختر “Hide videos from other groups”** داخل إعدادات PocketTube. الآن الخلاصات ستظهر فقط للفيديوهات داخل المجموعة المختارة.

### 2.2. حلول سطح المكتب (بدون المتصفح)

| التطبيق | نظام | طريقة التصنيف |
|--------|------|----------------|
| **FreeTube** | Windows / macOS / Linux | • يدعم إنشاء “Playlists” مخصصة (كل قائمة تمثل فئة). <br>• لا يستخدم خوارزمية توصية؛ يعرض فقط القنوات التي تضيفها يدوياً. |
| **Invidious (خادم خاص أو عام)** | أي (متصفح) | • يمكنك تشغيل القنوات عبر واجهة Invidious (مثلاً `https://yewtu.be`). <br>• لا يجمع بياناتك ولا يعرض إعلانات. <br>• يمكن حفظ القنوات في ملف `subscriptions.json` وتعديله يدوياً لتصنيفها. |
| **Memento – YouTube Subscriptions Manager** (Android) | Android | • يتيح إضافة وسوم (Tags) لكل قناة وتصديرها كملف OPML. |

### 2.3. طريقة متقدمة: استخراج الاشتراكات إلى ملف OPML + تصنيف في **Feedly** أو **Inoreader**

1. **استخراج الاشتراكات** (تحتاج حساب Google)  
   - انتقل إلى <https://takeout.google.com/> → **“YouTube and YouTube Music”** → **تصدير** → ستحصل على ملف `subscriptions.xml` (OPML).  

2. **استيراد OPML إلى Feedly**  
   - سجّل الدخول إلى <https://feedly.com/> → **“Add Content → OPML”** → استورد الملف.  

3. **إنشاء “Collections” (مجموعات)** داخل Feedly لكل فئة (مثلاً “تقنية”، “طبخ”). اسحب القنوات إلى المجموعة المناسبة.  

4. **توليد روابط الفيديو اليومية**:  
   - في Feedly يمكنك اختيار “Export → OPML” مرةً أخرى أو استخدام **Zapier / IFTTT** لتصدير كل عنصر جديد إلى ملف نصي `links.txt`.  

5. **تشغيل yt‑dlp** مع `links.txt` → سيحفظ الفيديوهات في مجلدات الفئة التي حددتها في الخطوة 1.  

> **الميزة**: لا تحتاج إلى أي برمجة إذا استخدمت PocketTube + Feedly معًا؛ فقط استورد القنوات إلى Feedly لتصنيفها ثم استخدم أداة استخراج الروابط (Zapier) لتغذية `links.txt`.

---

## 3️⃣ إضافات Chrome لتقليل الإعلانات المستهدفة ومنع طلب الموقع الجغرافي

| الإضافة | ما تقوم به | مميزات أمان |
|---------|-----------|-------------|
| **uBlock Origin** | مانع إعلانات شامل، يمنع طلبات التتبع (tracking) وشبكات الإعلانات. | مفتوح المصدر، يستهلك موارد قليلة. |
| **Privacy Badger** (Electronic Frontier Foundation) | يحظر تلقائيًا المتعقّبين الذين يحاولون جمع بياناتك. | لا يحتاج إعداد يدوي، يحدّ من “fingerprinting”. |
| **Ghostery** | يحجب المتعقّبين، يقدم لوحة تحكم لتفعيل/إيقاف كل “مُعَرف” (tracker). | واجهة سهلة الاستخدام. |
| **Location Guard** | يخفّض دقة أو يحجب طلبات الموقع الجغرافي تمامًا. | يمكن تعيين إعدادات “تقريب” للـ GPS أو إيقافه بالكامل. |
| **HTTPS Everywhere** (من EFF) | يفرض تحميل المواقع عبر HTTPS، يقلل من التجسس عبر HTTP غير المشفر. | الآن مدمج في معظم المتصفحات الحديثة، لكن الإضافة لا تزال مفيدة. |
| **Decentraleyes** | يبدّل مكتبات CDN (مثل Google Hosted Libraries) ببدائل محلية لتقليل طلبات الطرف الثالث. | يقلل من “third‑party requests”. |

#### كيفية تثبيت الإضافات (خطوات سريعة)

1. **افتح Chrome** → انتقل إلى **Chrome Web Store** (https://chrome.google.com/webstore).  
2. ابحث عن الاسم (مثلاً “uBlock Origin”).  
3. اضغط **Add to Chrome** → **Add extension**.  
4. بعد التثبيت، اضغط على أيقونة الإضافة في شريط الأدوات لضبط الإعدادات (مثلاً: **تفعيل “Block all third‑party cookies”** في uBlock).  

#### إعدادات مبدئية لتقليل الإعلانات المستهدفة

- **uBlock Origin → Dashboard → “My filters”** → أضف السطر التالي لمنع جميع طلبات إعلانات Google:  

  ```
  ||googleadservices.com^
  ||googlesyndication.com^
  ```

- **Location Guard → Settings** → اختر **“Never share location”** أو **“Reduce precision to 5 km”** إذا احتجت موقعًا تقريبيًا فقط.  

- **Privacy Badger**: اتركها على الوضع الافتراضي؛ ستتذكر المواقع التي تحاول تتبعك وتُحظرها تلقائيًا.  

> **ملحوظة أمان**: لا تقم بتمكين أي ملحق يطلب “إدارة جميع البيانات على جميع المواقع” إلا إذا كنت تثق به تمامًا (كل الإضافات المذكورة أعلاه موثوقة ومفتوحة المصدر).

---

## 4️⃣ خطوات تنفيذية شاملة (من البداية إلى النهاية)

### الخطوة 1 – إعداد أداة الأرشفة
1. **ثبت yt‑dlp** (أو استخدم NewPipe إذا كنت على Android).  
2. أنشئ مجلد مشروع (مثلاً `C:\YT‑Archive`).  
3. ضع داخل المجلد الملفات `links.txt`, `categories.json`, `download.py`.  

### الخطوة 2 – تجميع الروابط وتصنيف القنوات
- **طريقة سريعة (بدون برمجة):**  
  1. سجّل الدخول إلى YouTube → **قائمة الاشتراكات**.  
  2. استخدم **PocketTube** لإنشاء مجموعات (مثلاً “تقنية”، “رياضة”).  
  3. داخل كل مجموعة، اضغط على أيقونة **القائمة الثلاثية → “Copy channel link”** لجميع القنوات التي تريد أرشفتها.  
  4. الصق الروابط في ملف `links.txt`.  
  5. أضف معرف القناة (بعد `/channel/`) إلى `categories.json` مع اسم الفئة.  

- **طريقة متقدمة (باستخدام Feedly + Zapier):**  
  1. استورد ملف OPML إلى Feedly.  
  2. أنشئ “Collections” بحسب الفئات.  
  3. اربط Feedly بـ **Zapier** → “New article in Feedly” → “Append to Google Sheet”.  
  4. احصل على عمود “URL” في Google Sheet → صَدِّر إلى ملف نصي `links.txt` يوميًا.  

### الخطوة 3 – تشغيل الأرشفة
```bash
# من سطر الأوامر داخل مجلد المشروع
python download.py   # أو تشغيل run-archive.bat
```
- ستجد الفيديوهات في مجلدات مثل:  
  ```
  /Archive/تقنية/ChannelName/2024-07-28 - اسم الفيديو.mp4
  /Archive/طبخ/ChannelName/2024-07-27 - وصفة …
  ```

### الخطوة 4 – تقليل الإعلانات وحماية الخصوصية على Chrome
1. ثبت **uBlock Origin**, **Privacy Badger**, **Location Guard**.  
2. قم بتفعيل الفلاتر الموصى بها أعلاه.  
3. في إعدادات Chrome → **Privacy and security → Cookies and other site data** → فعل **“Block third‑party cookies”**.  

### الخطوة 5 – صيانة دورية
| الفترة | الإجراء |
|--------|----------|
| **يوميًا** | تشغيل السكريبت لتحديث `links.txt` وتنزيل الفيديوهات الجديدة. |
| **أسبوعيًا** | مراجعة `categories.json` وإضافة/إزالة قنوات حسب الحاجة. |
| **شهريًا** | تحديث yt‑dlp (`yt-dlp -U`) لضمان توافقه مع تغييرات YouTube. |
| **كل 3 أشهر** | مراجعة إضافات Chrome وتحديثها من المتجر. |

---

## 5️⃣ روابط التحميل المباشرة (محدثة حتى يوليو 2026)

| الأداة | رابط التحميل | ملاحظات |
|--------|--------------|----------|
| **yt‑dlp** (الملف التنفيذي) | <https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp.exe> (Windows) <br> أو <https://github.com/yt-dlp/yt-dlp/releases/latest> للأنظمة الأخرى | دائمًا استخرج من GitHub الرسمي. |
| **NewPipe** | <https://f-droid.org/packages/org.schabi.newpipe/> | غير متوفر في Google Play؛ استخدم F‑Droid أو APK من الموقع الرسمي. |
| **FreeTube** | <https://freetubeapp.io/> | يتضمن نسخة للـ macOS (DMG) و Windows (EXE). |
| **PocketTube (Chrome)** | <https://chrome.google.com/webstore/detail/pockettube‑youtube‑channel‑manager/ijbgfdnacpdjmhkjhdhcncjjegjfkmdn> | مجاني، يدعم إنشاء مجموعات غير محدودة. |
| **uBlock Origin** | <https://chrome.google.com/webstore/detail/ublock‑origin/cjpalhdlnbpafiamejdnhcphjbkeiagm> | افتح الإعدادات → “My filters” لإضافة الفلاتر المخصصة. |
| **Privacy Badger** | <https://chrome.google.com/webstore/detail/privacy‑badger/pkehgijcmpdhfbdbbnkijodcdgclbona> | لا تحتاج إعدادات إضافية. |
| **Location Guard** | <https://chrome.google.com/webstore/detail/location‑guard/jmpmfcjnflbcoidlgapblgpkcofhcohn> | اضبط “Never share location”. |
| **Feedly** | <https://feedly.com/> | سجل حسابًا مجانيًا؛ يدعم استيراد OPML. |
| **Zapier (Free plan)** | <https://zapier.com/> | يمكن إنشاء “Zap” بسيط لتصدير روابط YouTube إلى Google Sheet. |

---

## 6️⃣ نصائح أمان إضافية

1. **احفظ مفاتيح API في ملفات غير متاحة للإنترنت** (مثل `client_secret.json` إذا استخدمت YouTube Data API).  
2. **استخدم VPN** عند تنزيل محتوى من دول قد تكون فيها قيود جغرافية أو حيث تريد إخفاء عنوان IP.  
3. **تحقق من توقيع ملفات الـ APK** (NewPipe) عبر “SHA‑256” الموجود على صفحة GitHub.  
4. **تجنّب تشغيل سكريبتات غير موثوقة** على `links.txt`؛ تأكد من أن الروابط تأتي من مصادر موثوقة (قنواتك فقط).  
5. **احذف ملفات `download-archive.txt`** إذا كان يحتوي على روابط لا ترغب في حفظها في السحابة أو مشاركتها.

---

## 🎉 خلاصة سريعة (قائمة “فعل الآن”)

| ✅ | الإجراء | أين؟ |
|----|----------|------|
| ☐ **ثبت yt‑dlp** | GitHub (الملف التنفيذي) |
| ☐ **أنشئ مجلد مشروع** (`C:\YT‑Archive`) |
| ☐ **أضف `links.txt` و `categories.json`** | محرّر نصوص |
| ☐ **انسخ سكريبت `download.py`** | محرّر نصوص |
| ☐ **ثبت PocketTube** (أو استخدم Feedly) لتصنيف القنوات | Chrome Web Store |
| ☐ **استخرج روابط القنوات إلى `links.txt`** | يدويًا أو عبر Feedly+Zapier |
| ☐ **شغّل `python download.py`** (أو `run-archive.bat`) | سطر الأوامر |
| ☐ **ثبت uBlock Origin + Privacy Badger + Location Guard** | Chrome Web Store |
| ☐ **فعّل “Block third‑party cookies”** في إعدادات Chrome | Chrome → Settings → Privacy |
| ☐ **استخدم VPN** إذا رغبت في إخفاء موقعك | أي خدمة موثوقة (NordVPN, ProtonVPN…) |

بهذا تكون لديك **نظام أرشفة كامل** يدعم **تصنيف القنوات** ويُحافظ على **خصوصيتك من الإعلانات والتتبع**. إذا احتجت مساعدة في أي خطوة (مثلاً إعداد سكريبت Python على macOS أو ربط Zapier بـ Feedly)، أخبرني وسأرسل لك التعليمات التفصيلية أو ملفات القالب المطلوبة. 🚀